Niji is a cool system extension that lets you change the look and feel of your Mac's user interface. All the graphics and options are stored in separate Appearance files, which can be installed using the provided Niji Control application.
To create your own Appearance files, simply make a copy of one of the existing Appearance files and modify it with your favorite resource editor. Your appearance files can be freely distributed so that other users can try them out and enjoy your work.
You can find links to third party authors who share their Appearance files and Niji tips at:
<http://www.netinfo.fr/objectivesw/>.
Your suggestions are welcome. Please send them to: <niji@dial.oleane.com>.
An Appearance file contains three required kinds of resources that can be modified to create your own custom interface:
・ The Preferences resource (type '1PRF') contains many settings that affect your user interface. This includes things like the presence of a resize bar in windows, the use of square or rounded buttons, NeXT-like or Mac-like scrollbar arrows, and so forth. It also contains colors used in the menu bar, in Finder windows, in 3D effects, etc...
・ The icon suites (types 'ICN#', 'icl4', 'icl8', 'ics#', 'ics4', 'ics8', 'icm#', 'icm4', 'icm8'). These icons can easily be edited with your favorite resource editor, be it ResEdit, Resorcerer, Constructor or any other. Missing Finder folder icons for items like the System folder, the Extensions folder, etc... are automatically replaced with the default folder icon (ID = -3999). This is the only required Finder icon if you feel too lazy to design them all.
・ The patterns (type 'ppat'). These are used in window title bars and scrollbars, and can also be edited using a resource editor.
The following optional resources types can be added to an Appearance file:
・ A 160x160 pixels picture (type 'PICT', ID = 27080) containing a preview of your interface, a copyright notice, or any other information for the end user. This picture is displayed in the Niji Control window when the user selects the Appearance file.
ハ
・ A version resource (type 'vers', ID = 1) containing the version of your Appearance file. This resource is required if you plan to distribute your Appearance file, so that users know if they have the latest version.
ハ
・ Any other resources that override those in your System file, like color icon resources for dialogs and alerts (type 'cicn', ID = 0, 1, 2).
・ Developers can add their custom code resources ('WDEF', 'CDEF', 'MDEF') for an even higher level of customization.
Niji lets you separately set the name and size of:
・ the System font,
・ the window title font,
・ the menu font
(see General Preferences, Window Preferences and Menu Preferences below).
The Niji package includes the Niji and Niji Bold fonts, inspired by Espy Sans. You don't have to use these fonts in your appearance: you can choose any font you like, as long as it contains all the characters required by a System font (like the command-key symbol).
The Preferences resource ('1PRF' ID = -27980) contains the following fields, which you can edit using the provided ResEdit template.
Note:
- Color-related fields have names like "Color (R), Color (G), Color (B)". Each of the three fields contains one of the red, green and blue components of the color. You can enter either decimal or hexadecimal values to specify your colors.
- In most other fields, a "1" enables the related setting and a "0" disables it.
1 - General Preferences
NI/Finder Window Color (R)
NI/Finder Window Color (G)
NI/Finder Window Color (B)
The background color of Finder windows.
NI/Dark Shadow (R)
NI/Dark Shadow (G)
NI/Dark Shadow (B)
The color to use for the dark shadow border of Finder Copy/Delete progress bars.
NI/Light Shadow (R)
NI/Light Shadow (G)
NI/Light Shadow (B)
The color to use for the light shadow border of Finder Copy/Delete progress bars.
NI/Font Size
NI/Font Name
The size and name of the font to use as System font
(note: you can independently set the font to use for the window titles and the menus, see below).
2 - Button Preferences
BT/Btn Light Shadow (R)
BT/Btn Light Shadow (G)
BT/Btn Light Shadow (B)
The color to use for the light shadow border of buttons.
BT/Btn Content (R)
BT/Btn Content (G)
BT/Btn Content (B)
The content color of buttons.
BT/Btn Dark Shadow (R)
BT/Btn Dark Shadow (G)
BT/Btn Dark Shadow (B)
The color to use for the dark shadow border of buttons.
BT/Btn Alt Content (R)
BT/Btn Alt Content (G)
BT/Btn Alt Content (B)
The content color of hilited buttons.
BT/Btn Title (R)
BT/Btn Title (G)
BT/Btn Title (B)
The color to use for the title of buttons.
BT/Btn Alt Title (R)
BT/Btn Alt Title (G)
BT/Btn Alt Title (B)
The color to use for the title of hilited buttons.
BT/B&W Design (Syst 7)
Forces the use a black & white design for buttons (System 7-style).
BT/Square Buttons
Use NeXT-style square-corner buttons instead of Mac-style rounded-corner buttons.
BT/Title V Offset
Correction for the vertical position of the button title (useful for certain fonts).
3 - Scrollbar Preferences
SB/Group Arrows
If this flag is set, both scrollbars arrows are grouped at the bottom (vertical scrollbar) or right (horizontal scrollbar) of the scrollbar (NeXT-style). Otherwise they are positioned at both ends of the scrollbars (Mac-style).
SB/Hide Inactive Arrows
If this flag is set, the scrollbar arrows are hidden when the scrollbar is inactive, i.e. if the whole length of the window is visible (NeXT-style), otherwise they are displayed in a disabled state (Mac-style).
SB/Gap When Active
SB/Gap When Inactive
These flags determine whether a line will be drawn to "close" the scrollbar patterns (see below, Top Left Gap and Btm Right Gap options), when the scrollbar is active and when it is inactive.
SB/Hide Inactive Scrollbars
If this flag is set, the scrollbars are hidden when the window is in the background (Mac-style), otherwise they are displayed.
SB/Min Thumb Size
The minimal length of the scrollbar thumb.
SB/Top Left Gap (R)
SB/Top Left Gap (G)
SB/Top Left Gap (B)
The color to use for the (dark shadow) line which borders the top of the vertical scrollbar pattern and the left of the horizontal scroll bar pattern.
SB/Btm Right Gap (R)
SB/Btm Right Gap (G)
SB/Btm Right Gap (B)
The color to use for the (light shadow) line which borders the bottom of the vertical scrollbar pattern and the right of the horizontal scroll bar pattern.
4 - "New Folder" Button Preferences
The "New Folder" button appears in the "Save.../Save As..." directory dialog boxes.
NF/Folder Icon ID
The ID of the icon to use in this button (this ID should normally correspond to the icon suite you are using to represent folders in the Finder).
5 - Window Preferences
WN/TitleBar (R)
WN/TitleBar (G)
WN/TitleBar (B)
The color to use for the background of the window title bar.
WN/AltTitleBar (R)
WN/AltTitleBar (G)
WN/AltTitleBar (B)
The color to use for the background of the title bar of inactive (background) windows.
WN/Title (R)
WN/Title (G)
WN/Title (B)
The color to use for the window title.
WN/AltTitle (R)
WN/AltTitle (G)
WN/AltTitle (B)
The color to use for the title of inactive windows.
WN/Finder Window Text (R)
WN/Finder Window Text (G)
WN/Finder Window Text (B)
The color to use for the text of Finder window items.
WN/Light Shadow (R)
WN/Light Shadow (G)
WN/Light Shadow (B)
The color to use for the light shadow top & left borders of windows.
WN/Dark Shadow (R)
WN/Dark Shadow (G)
WN/Dark Shadow (B)
The color to use for the dark shadow bottom & right borders of windows.
WN/Alt Light Shadow (R)
WN/Alt Light Shadow (G)
WN/Alt Light Shadow (B)
The color to use for the light shadow top & left borders of inactive windows.
WN/Alt Dark Shadow (R)
WN/Alt Dark Shadow (G)
WN/Alt Dark Shadow (B)
The color to use for the dark shadow bottom & right borders of inactive windows.
WN/Title V Offset
Correction for the vertical position of the window title (useful for certain fonts).
WN/Show ResizeBar
Add a NeXT-style resize bar at the bottom of windows (allows to constrain the resizing of windows in the vertical or horizontal direction).
WN/Full TitleBar Pattern
If a pattern is used to draw the window title bar, this flag indicates whether the pattern should fill the whole length of the title bar or leave the window widgets (close box, etc.) alone. It can have the following values:
0 --> the pattern leaves the window widgets (close box, etc.) alone,
1 --> the pattern fills the whole length of the title bar,
2 --> same as 1, but in addition the title is drawn with embossed letters (using the title bar color)
WN/Use Patterns
If this flag is set to 1, a pattern is used to draw the window title bar
(see below for the IDs to use for the 'ppat' resources).
WN/Font Size
WN/Font Face
The size and style (plain, bold etc.) of the font to use for the window title.
WN/True NeXT Look
If this flag is set, the positions of the close box and zoom box in the window title bar are inverted relative to their usual Mac-style position :
Mac style --> close box on the left, zoom box on the right,
NeXT style --> close box on the right, zoom box on the left.
WN/Iconizing
Add a "miniaturization" widget at the top right of the window. Clicking on it will either miniaturize the window (NeXT-style) or collapse it to its title bar (Mac-style), according to the Window Shade setting (see below).
WN/TitleAlignLeft
Align the window title to the left of the title bar (OpenStep-style)
WN/Path PopUp Symbol
Draw a small downward pointing triangle at the center of the window title bar, to denote the position where command-clicking will drop a file/folder pathway menu (may be useful if you use the TitleAlignLeft option)
WN/Window Shade
Clicking on the miniaturization widget will collapse the window to its title bar (Mac-style) instead of miniaturizing it (NeXT-style)
WN/Title Font Name
The name of the font to use for the window title.
6 - Menu Preferences
MN/Background (R)
MN/Background (G)
MN/Background (B)
The color to use for the menu background.
MN/Hilited Background (R)
MN/Hilited Background (G)
MN/Hilited Background (B)
The color to use for the background of hilited menu items.
MN/Dark Shadow (R)
MN/Dark Shadow (G)
MN/Dark Shadow (B)
The color to use for the dark shadow border of menus.
MN/Text (R)
MN/Text (G)
MN/Text (B)
The color to use for the menu text.
(Note: if there is an 'mctb' resource for the menu item or the menu, it will override this setting).
MN/Hilited Text (R)
MN/Hilited Text (G)
MN/Hilited Text (B)
The color to use for the text of hilited menu items.
MN/Divider Line (R)
MN/Divider Line (G)
MN/Divider Line (B)
The color to use for the menu divider lines.
MN/Light Shadow (R)
MN/Light Shadow (G)
MN/Light Shadow (B)
The color to use for the light shadow border of menus.
MN/Disabled Text (R)
MN/Disabled Text (G)
MN/Disabled Text (B)
The color to use for the text of disabled menu items.
MN/Font size
MN/Font face
The size and style (plain, bold etc.) of the font to use for the menu.
(Note: this setting may be overriden under some circumstances, for instance if the menu item contains specific style or script information).
MN/Has Disabled Icons
If this flag is set, Niji will look for specific icons to draw the check mark, submenu arrow and popup symbol in disabled menu items (see below for the ID's of these icons). Otherwise, the normal icon will be used (plotted in a "disabled" state).
MN/NeXT-like Right Mark in Popups
If this flag is set, the popup symbol itself will be used as mark in popup menu items, and it will be positioned on the right of the item (NeXT-style) instead of the left.
MN/3D Look
(0=flat,
1=menu,
2=items,
3=NeXT)
This flag determines the 3D look of the menu:
1 --> No 3D effect (System 7-style),
2 --> 3D effect for the menu border only (Mac OS 8-style),
3 --> 3D effect for aech menu item (drawn as an individual "tile") (NeXT-style),
4 --> Same as 3, plus a black separation line at the bottom of every item (True NeXT look).
MN/Draw Command Key
This flag determines whether the command-key will drawn (Mac-style) or not (NeXT-style) in menu keyboard equivalents.
MN/Font name
The name of the font to use for the menu.
7 - Menu Bar Preferences
MB/3D Menubar
Draw the menu bar with 3D effects.
MB/Square Corners
Force the drawing of square corners (NeXT-style).
(May not work correctly on certain screens).
MB/Use Menubar Bottom Pixel
This flag determines whether the bottom line of the menu bar (drawn with the Dark Shadow color) will leave a black separator line at the bottom of the menu bar (flag set to 1), or be drawn above it (flag set to 0).
MB/7-like Menu Shadow
This flag determines whether the menus are drawn with a 1 pixel background shadow (Mac-style), or without it (NeXT-style).
MB/Submenus Don't Overlap
This flag determines whether submenus overlap slightly over the parent menu (Mac-style), or are aligned to its edge (NeXT-style).
MB/Menu Title (R)
MB/Menu Title (G)
MB/Menu Title (B)
The color to use for the menu titles.
MB/Menu Left Edge (R)
MB/Menu Left Edge (G)
MB/Menu Left Edge (B)
The color to use for the left edge of the menus (e.g., black for Mac, gray for NeXT).
MB/Menubar (R)
MB/Menubar (G)
MB/Menubar (B)
The color to use for the background of the menu bar.
MB/Menubar Hilite (R)
MB/Menubar Hilite (G)
MB/Menubar Hilite (B)
The color to use for the background of hilited menu titles.
MB/Menu Title Hilite (R)
MB/Menu Title Hilite (G)
MB/Menu Title Hilite (B)
The color to use for the text of hilited menu titles.
MB/Dark Shadow (R)
MB/Dark Shadow (G)
MB/Dark Shadow (B)
The color to use for the dark shadow border of the menu bar (3D effect).
MB/Light Shadow (R)
MB/Light Shadow (G)
MB/Light Shadow (B)
The color to use for the light shadow border of the menu bar (3D effect).
8 - Pop Up Menu Control Preferences
PU/Content (R)
PU/Content (G)
PU/Content (B)
The color to use for the content of popup menu controls.
PU/Hilited Content (R)
PU/Hilited Content (G)
PU/Hilited Content (B)
The color to use for the content of hilited popup menu controls.
PU/Dark Shadow (R)
PU/Dark Shadow (G)
PU/Dark Shadow (B)
The color to use for the dark shadow bottom & right borders of popup menu controls.
PU/Light Shadow (R)
PU/Light Shadow (G)
PU/Light Shadow (B)
The color to use for the light shadow top & left borders of popup menu controls.
PU/Text (R)
PU/Text (G)
PU/Text (B)
The color to use for the text of popup menu controls.
(Note: if there is an 'mctb' resource for the menu item or the menu, it will override this setting).
PU/Hilited Text (R)
PU/Hilited Text (G)
PU/Hilited Text (B)
The color to use for the text of hilited popup menu controls.
PU/PopUp Style
(0 = old style-Sys 7,
1 = rounded button,
2 = square button,
3 = framed square)
This flag determines the 3D look of the popup menu control:
1 --> No 3D effect (System 7-style),
2 --> 3D rounded-corner button (Mac OS 8-style),
3 --> 3D square-corner button (NeXT-style),
4 --> Same as 3, plus a black frame.
PU/Use separator line
This flag determines whether the popup symbol will be separated from the text by a vertical line (Mac OS 8-style).
ID = -27066 (arrow up hilited), -27065 (down hilited), -27064 (left hilited), -27063 (right hilited),
ID = -27062 (arrow up disabled), -27061 (down disabled), -27060 (left disabled), -27059 (right disabled)
・ Scrollbar thumb
Type = 'ics#', 'ics4', 'ics8'
ID = -27050 to -27043
Note: the scrollbar thumb is composed of two icons, one for the thumb itself and the other for its "anchoring point" (look up the provided Appearances).
Harry Alloul, Bernard Frangoulis and Alessandro Levi Montalcini (thereafter "the authors") disclaim all warranties relating to this software, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose. The authors will not be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if the authors or an agent of theirs has been advised of the possibility of such damages. In no event shall the authors be liable for any damages, regardless of the form of the claim. The person using the software bears all risk as to the quality and performance of the software.
Apple, the Apple logo, Mac, Macintosh, Finder, ResEdit are trademarks of Apple Computer, Inc., registered in the U.S. and other countries. Finder is a trademark of Apple Computer, Inc. NeXT, NEXTSTEP, OPENSTEP are trademarks of NeXT Computer, Inc. All other trademarks belong to their respective owners.